#ifndef U2IPlugin_H
#define U2IPlugin_H

#include "U2PreRequest.h"
#include "U2MemoryAllocatorConfig.h"


U2EG_NAMESPACE_BEGIN

class _U2Share U2IPlugin : public PluginAlloc
{
public:

	U2IPlugin(void)
	{
	}

	virtual ~U2IPlugin(void)
	{
	}

	virtual const U2String& getName() const = 0;
	virtual void install() = 0;
	virtual void initialise() = 0;
	virtual void shutdown() = 0;
	virtual void uninstall() = 0;
};

U2EG_NAMESPACE_END

#endif